home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / include / linux / cycx_cfm.h < prev    next >
C/C++ Source or Header  |  2009-10-16  |  3KB  |  102 lines

  1. /*
  2. * cycx_cfm.h    Cyclom 2X WAN Link Driver.
  3. *        Definitions for the Cyclom 2X Firmware Module (CFM).
  4. *
  5. * Author:    Arnaldo Carvalho de Melo <acme@conectiva.com.br>
  6. *
  7. * Copyright:    (c) 1998-2003 Arnaldo Carvalho de Melo
  8. *
  9. * Based on sdlasfm.h by Gene Kozin <74604.152@compuserve.com>
  10. *
  11. *        This program is free software; you can redistribute it and/or
  12. *        modify it under the terms of the GNU General Public License
  13. *        as published by the Free Software Foundation; either version
  14. *        2 of the License, or (at your option) any later version.
  15. * ============================================================================
  16. * 1998/08/08    acme        Initial version.
  17. */
  18. #ifndef    _CYCX_CFM_H
  19. #define    _CYCX_CFM_H
  20.  
  21. /* Defines */
  22.  
  23. #define    CFM_VERSION    2
  24. #define    CFM_SIGNATURE    "CFM - Cyclades CYCX Firmware Module"
  25.  
  26. /* min/max */
  27. #define    CFM_IMAGE_SIZE    0x20000    /* max size of CYCX code image file */
  28. #define    CFM_DESCR_LEN    256    /* max length of description string */
  29. #define    CFM_MAX_CYCX    1    /* max number of compatible adapters */
  30. #define    CFM_LOAD_BUFSZ    0x400    /* buffer size for reset code (buffer_load) */
  31.  
  32. /* Firmware Commands */
  33. #define GEN_POWER_ON    0x1280
  34.  
  35. #define GEN_SET_SEG    0x1401    /* boot segment setting. */
  36. #define GEN_BOOT_DAT    0x1402    /* boot data. */
  37. #define GEN_START    0x1403    /* board start. */
  38. #define GEN_DEFPAR    0x1404    /* buffer length for boot. */
  39.  
  40. /* Adapter Types */
  41. #define CYCX_2X        2
  42. /* for now only the 2X is supported, no plans to support 8X or 16X */
  43. #define CYCX_8X        8
  44. #define CYCX_16X    16
  45.  
  46. #define    CFID_X25_2X    5200
  47.  
  48. /**
  49.  *    struct cycx_fw_info - firmware module information.
  50.  *    @codeid - firmware ID
  51.  *    @version - firmware version number
  52.  *    @adapter - compatible adapter types
  53.  *    @memsize - minimum memory size
  54.  *    @reserved - reserved
  55.  *    @startoffs - entry point offset
  56.  *    @winoffs - dual-port memory window offset
  57.  *    @codeoffs - code load offset
  58.  *    @codesize - code size
  59.  *    @dataoffs - configuration data load offset
  60.  *    @datasize - configuration data size
  61.  */
  62. struct cycx_fw_info {
  63.     unsigned short    codeid;
  64.     unsigned short    version;
  65.     unsigned short    adapter[CFM_MAX_CYCX];
  66.     unsigned long    memsize;
  67.     unsigned short    reserved[2];
  68.     unsigned short    startoffs;
  69.     unsigned short    winoffs;
  70.     unsigned short    codeoffs;
  71.     unsigned long    codesize;
  72.     unsigned short    dataoffs;
  73.     unsigned long    datasize;
  74. };
  75.  
  76. /**
  77.  *    struct cycx_firmware - CYCX firmware file structure
  78.  *    @signature - CFM file signature
  79.  *    @version - file format version
  80.  *    @checksum - info + image
  81.  *    @reserved - reserved
  82.  *    @descr - description string
  83.  *    @info - firmware module info
  84.  *    @image - code image (variable size)
  85.  */
  86. struct cycx_firmware {
  87.     char            signature[80];
  88.     unsigned short        version;
  89.     unsigned short        checksum;
  90.     unsigned short        reserved[6];
  91.     char            descr[CFM_DESCR_LEN];
  92.     struct cycx_fw_info info;
  93.     unsigned char        image[0];
  94. };
  95.  
  96. struct cycx_fw_header {
  97.     unsigned long  reset_size;
  98.     unsigned long  data_size;
  99.     unsigned long  code_size;
  100. };
  101. #endif    /* _CYCX_CFM_H */
  102.